package com.koron.order.linepatrol.base.service;

import com.github.pagehelper.PageInfo;
import com.koron.bean.query.PageQuery;
import com.koron.bean.scheduleShift.ScheduleShift;
import com.koron.order.linepatrol.base.bean.po.PatrolPo;
import com.koron.order.linepatrol.base.bean.query.PatrolQuery;
import org.koron.ebs.mybatis.SessionFactory;

import java.util.List;

/**
 * 巡视工单-基础信息(Patrol)表服务接口
 *
 * @author zhouj
 * @since 2021-10-26 15:32:35
 */
public interface PatrolService {

    int insertOrUpdate(SessionFactory factory, PatrolPo patrol);

    int insertOrUpdateBatch(SessionFactory factory, List<PatrolPo> patrolList);

    int insert(SessionFactory factory, PatrolPo patrol);

    int insertBatch(SessionFactory factory, List<PatrolPo> patrolList);

    int update(SessionFactory factory, PatrolPo patrol);

    int updateStatus(SessionFactory factory, String id, String status);

    int updatePrepare(SessionFactory factory, String id, String prepare);

    int updatePatrolStaff(SessionFactory factory, ScheduleShift scheduleShift);

    int deleteById(SessionFactory factory, String id);

    PatrolPo queryById(SessionFactory factory, String id);

    PageInfo queryPageList(SessionFactory factory, PatrolQuery query, PageQuery pageQuery);

    List<PatrolPo> queryList(SessionFactory factory, PatrolQuery query);

    int updatePatrolInsertFlag(SessionFactory factory, PatrolPo patrol);

}
